/**
 * @(#) IEpuckActuator.java
 */

package pcsr.drivers.epuckDriver;

/**
 * Represents the operations provided by a EPuck actuator.
 * @author Paulo Fagundes
 *
 */
interface IEpuckActuator
{
	/**
	 * Gets actuator identifier.
	 * @return Identifier.
	 */
	public String GetID();
	
	/**
	 * Gets actuator operating mode.
	 * @return Mode
	 */
	public EpuckActuatorMode GetMode();
	
	/**
	 * Gets type of the actuator.
	 * @return Type
	 */
	public EpuckActuatorType GetType();

	/**
	 * Gets value applied on the actuator.
	 * @return Value. [-100;100]
	 */
	public short GetValue();

	/**
	 * Sets value applied on the actuator.
	 * @param newValue Value to be set. [-100;100]
	 */
	public void SetValue(short newValue);
}
